Overview of program flow.

1. Game initialization
    - init ram and vram
    - init variables
    - load game assets

2. Prepare title screen
    - load title screen assets

3. Title screen loop
    - play music
    - flash hiscore
    - wait for button 1 press
         ----> go to prepare main loop

4. Prepare main loop
    - load main loop assets
    - init variables
    - update sat buffer

5. 'Ready loop'
    - wait for keypress
         ----> go forward to main loop
    - wait for timer
         ----> go back to prepare title screen

6. Main loop
    - write to vram
    - compare score to hiscore
    - test for score = 9999
         ----> go to 'player dies'
    - detect collision
         ----> go to 'player dies'
    - read and respond to controller input
    - update enemy positions
    - add to score
    - update the sat and scroll buffers

7. Player dies (prepare death loop)
    - make crash noise and trash player car

8. Death loop
    - update enemy positions (now moving up)
    - wait for timer
         ----> go back to prepare main loop


